/*
* ============================================================================
* 功能描述 ：串口命令层
* 作者       ：ggls
* 创建日期 ：2024.5.22
* ----------------------------------------------------------------------------
* 更新历史 ：
*	日期 　　- 修改者   : 更新内容描述
*
* ============================================================================
*/

#ifndef __HLY_UART_CMD_H__
#define __HLY_UART_CMD_H__

#include "main.h"


/*串口缓冲区长度*/
#define	UART_BUF_LEN	24


typedef struct
{
	unsigned char 		recv_buf[UART_BUF_LEN];//接收缓冲区
	unsigned char 		cmd_buf[UART_BUF_LEN];
	
	unsigned char 		recv_len;	//接收缓冲区数据长度
	unsigned char		cmd_len;

	unsigned char		recv_hand_flag;		//处理数据标志

}uart_buf_s;


typedef enum
{
	DEVICE_MANAGE 			= 0x01, // 设备管理命令类型
	NETWORK_MANAGE 			= 0x02,	// 网络信息管理命令类型
	SERIAL_CONFIG_MANAGE 	= 0x03, // 串口配置管理命令类型
	OTA_MANAGE 				= 0x04, // OTA管理命令类型
	PRODUCT_MANAGE 			= 0x05, // 产测管理命令类型
}zigbee_cmd_types;


typedef enum
{
	test_pid	 			= 0xA1, // 检测pid
	test_lcd 				= 0xA5,	// 检测lcd屏
	test_key 				= 0xB1, // 检测按钮
	test_vol				= 0xC1, // 检测电量
	test_temp				= 0xC2, // 检测电量
	test_humi				= 0xC3, // 检测电量
	test_signal 			= 0xC4, // 检测信号
	
}product_cmd_types;

	

void Uart0_Interrupt_Handle(void);
void uart_cmd_send_buf(unsigned char *buf, int length);
void Zigbee_Cmd_handle(void);
void Hly_Product_Cmd_handle(void);
void _uart_data_handle(void);



#endif
